'''
字典：是一种无序、可变的数据类型，是以键值对的形式存在，
每个键值key->value对是用冒号:分割，每个键值对则是用分号,分割
例子：超市物品：条形码（序号）-商品信息
新华字典：汉字-解释      手机通讯录：姓名-手机号
特点：
1、键是唯一的，不能有重复，
2、键只能使用数字，字符串，元组，值可以是任意数据类型，
3、无序
创建方式：1、{}，2、dict()
#访问字典中的值
#获取没有的，报错
# 如果获取时key不存在，不想出现报错，可以使用get方法
#get方法如果返回None，设置么默认值
#获取字典里的所有key值
#获取字典里的所有value值
#获取所有的键值对items
#item是字典里的key值
#因为是无序，无法使用while进行循环处理
#循环字典的keys来获取到value
# 循环遍历字典里的value值
#获取键值对 items
#获取字典中值的数量-len
#清空字典中的值-clear
#删除字典中的值-pop
'''
d = dict(
    name="bob",
    age=12
)
print(d,type(d))
#访问字典中的值
life_goods = {10011021:"牙刷套装","牙刷":9.9,"牙膏":45}
print(type(life_goods))
print(life_goods[10011021])
print(life_goods["牙刷"])
print(life_goods["牙膏"])
#获取没有的，报错
# print(life_goods["水杯"])
life_goods["水杯"] = 22 # 给life_goods字典赋值
print(life_goods["水杯"])
print(life_goods)
# 如果获取时key不存在，不想出现报错，可以使用get方法
print(life_goods.get(10011021))
print(life_goods.get(10011022))
#get方法如果返回None，设置么默认值
print(life_goods.get(10011022,"牙膏套装1"))
print(life_goods)

#获取字典里的所有key值
print(life_goods.keys())

#获取字典里的所有value值
print(life_goods.values())

#获取所有的键值对
print(life_goods.items())

#item是字典里的key值
#因为是无序，无法使用while进行循环处理
#print(life_goods[1])
for good in life_goods:
    print(f"{good}:{life_goods[good]}")
#循环字典的keys来获取到value
for key in life_goods.keys():
    print(f"{key}:{life_goods[key]}")
# 循环遍历字典里的value值
for value in life_goods.values():
    print(value)
#获取键值对
for item in life_goods.items():
    print(item)
for key,value in life_goods.items():
    print(f"{key}:{value}")
foods = {
    1001221:"菜籽油",
    1001222:"牛奶",
    1001223:{100201:"黄瓜","苹果":9.9,("方便面","碗"):19.9}
}
print(foods[1001223][100201])
#修改字典中的值
life_goods = {10011021:"牙刷套装","牙刷":9.9,"牙膏":45}
print(life_goods)
life_goods["牙膏"] = 34
print(life_goods)
# 字典里没有key值，就会新增
life_goods["水杯"] = 22
print(life_goods)
# 将一个字典的键值对更新到另外一个字典中去，不存在key则直接新增，相同key则覆盖旧的
life_goods2 = {"漱口水":55,"牙刷":11.9}
life_goods.update(life_goods2)
print(life_goods)
print(life_goods2)
#删除字典中的值-pop
life_goods = {10011021:"牙刷套装","牙刷":9.9,"牙膏":45,"水杯":22}
print(life_goods)
cup = life_goods.pop("水杯")
print(cup)
print(life_goods)
#清空字典中的值-clear
life_goods = {10011021:"牙刷套装","牙刷":9.9,"牙膏":45,"水杯":22}
print(life_goods)
life_goods.clear()
print(life_goods)
#获取字典中值的数量-len
life_goods = {10011021:"牙刷套装","牙刷":9.9,"牙膏":45,"水杯":22}
print(len(life_goods))